package utils

// Conf 公共配置项
type Conf struct {
	//项目参数
	AppConfig AppConfig `yaml:"app"`
	//数据库配置
	MysqlConfig MysqlConfig `yaml:"mysql"`
	//redis配置
	RedisConfig RedisConfig `yaml:"redis"`
	//阿里云日志配置
	AlylogConfig AlylogConfig `yaml:"alylog"`
	//？？配置
	FastdtsConfig FastdtsConfig `yaml:"fastdts"`
	//对象存储配置
	OssConfig OssConfig `yaml:"oss"`
}

// 这个结构体对应配置文件中的配置-从配置中心读取
type AppConfig struct {
	Name string `json:"name"`
}

// 这个结构体对应配置文件中的配置-从配置中心读取
type MysqlConfig struct {
	Host     string `json:"host"`
	User     string `json:"user"`
	Pwd      string `json:"pwd"`
	Database string `json:"database"`
	Port     string `json:"port"`
}

// 这个结构体对应配置文件中的配置-从配置中心读取
type RedisConfig struct {
	Host     string `json:"host"`
	Password string `json:"password"`
	Port     string `json:"port"`
	Db       string `json:"db"`
}

// 这个结构体对应配置文件中的配置-从配置中心读取
type AlylogConfig struct {
	Endpoint        string `json:"endpoint"`
	AccessKeyId     string `json:"accesskeyid"`
	AccessKeySecret string `json:"accesskeysecret"`
	ProjectName     string `json:"projectname"`
	LogStoreName    string `json:"logstorename"`
}

// 这个结构体对应配置文件中的配置-从配置中心读取
type FastdtsConfig struct {
	Addr string `json:"addr"`
	Port string `json:"port"`
}

// 阿里云对象存储配置
type OssConfig struct {
	//Bucket对应的Endpoint
	Endpoint string `json:"endpoint"`
	// 阿里云账号AccessKey拥有所有API的访问权限，风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维，请登录RAM控制台创建RAM用户。
	Accesskeyid     string `json:"accesskeyid"`
	Accesskeysecret string `json:"accesskeysecret"`
	//存储空间名称
	Examplebucket string `json:"examplebucket"`
}

var GlobalConf Conf
